#pragma once
#include "DXAMLCommon.h"

#include "CErrorEventArgs.h"
struct IError
{
public: 
	virtual XUINT32 AddRef() = 0;
	virtual XUINT32 Release() = 0;
	virtual void SetErrorEventSender(struct Xcp_IDependencyObject * pSender) = 0;
	virtual HRESULT GetErrorEventSender(struct Xcp_IDependencyObject * * ppSender) = 0;
	virtual HRESULT SetErrorEventArgs(struct Xcp_IDependencyObject * pErrorEventArgs) = 0;
	virtual HRESULT GenerateErrorEventArgs(CErrorEventArgs * * ppErrorEventArgs, struct ICoreServices * pCore) = 0;
	virtual HRESULT GetErrorMessage(XUINT32 * pcMessage, XCHAR * * ppErrorMessage) = 0;
	virtual HRESULT SetErrorMessage(XUINT32 cMessage, XCHAR * pErrorMessage) = 0;
	virtual enum ErrorType GetErrorType() = 0;
	virtual XUINT32 GetErrorCode() = 0;
	virtual HRESULT GetErrorResult() = 0;
	virtual XUINT32 GetLineNumber() = 0;
	virtual XUINT32 GetCharPosition() = 0;
	virtual XBOOL GetIsRecoverable() = 0;
	virtual XBOOL SetIsRecoverable(XBOOL bIsRecoverable) = 0;

};